﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using Crosland.Automotriz.Core;
using Crosland.Automotriz.Logic;
using Crosland.Automotriz.Entidad;

namespace Crosland.Automotriz.Facade.Interface
{
    public interface iFacadeCompensacionVehiculo
    {
        IEnumerable<Object> ListarBancos();
        IEnumerable<Object> ListarCtaCorriente(int idBanco);
        IEnumerable<Object> ListarClaseFactura();
        IEnumerable<Object> ListarMonedas();
        IEnumerable<Object> ListarClientes(string nombre);
        IEnumerable<Object> ListarUsuariosFacturadores();
        bool GuardarCaja(T_TES_CAJA entity,string glosa);
        //int ModificarCaja(int ID_OPERACION_CAJA, int ID_BANCO_CUENTA, int ID_TIPO_DOCUMENTO, String NUM_OPERACION, DateTime FEC_OPERACION, int ID_MONEDA, Decimal IMP_MONTO, String ID_USUARIO);     
        List<T_MAE_MONEDA> MonedaXCta(int idCta);
        IEnumerable<Object> BuscarDepositos(int anio, int mes, string usuario, int moneda,int estado);
        IEnumerable<Object> SeleccionDepositos(List<int> id);
        IEnumerable<Object> FacturasXCliente(int idCliente,int anio,int mes,int idOfiVta,int estado);
        IEnumerable<Object> ListarOficinaVenta();
        bool GuardarOperacionCab(T_CON_OPERACION_CAB entity);
        int UltimoIdGenerado();
        void GuardarOperacionDet(T_CON_OPERACION_DET entity);
        List<T_TES_CAJA> BuscarDepositoGetById(int id);
        List<TD_Facturas_Compensadas> ListarFacturasCompensadas(int idOperacionCaja);
        void GuardarOperacionTran(T_CON_OPERACION_TRAN entity);
        IEnumerable<Object> ListarRepresentantes();
        List<TD_Facturas_Impresion> ListarFacturasImpresion(int anio_operacion, int mes_operacion, int indicador, int anio_facturacion);
        List<TD_Facturas_Impresion> ListarFacturasImpresionFEC_IMPRESION(int anio, int mes, int indicador);
        void GuardarImpresionCMPCT(T_VEN_CARTAS_VEH_IMPRESION entity);
        List<TD_FACTURA_CONSULTA> ListarConsultaFactura(int nrofactura);
        decimal TipoCambio(DateTime FecOperacion);
        void GuardarLogicaTran(int idOperacion);
        decimal VerificarFacturasCompensadas(int nroFactura);
        List<TD_OPERACION_DEPOSITO_MAE> ListarDatosOperacionMae(int idOperacionCaja);
        List<TD_Facturas_Compensadas> ListarDatosOperacionDet(int idOperacion);
        bool ExtornarOperacion(int idOperacion);
        List<TD_Facturas_Compensadas> FacturasExtornadas(int idOperacion);
        string DesClienteCompensacion(int idOperacion);
        List<Td_Usuario_Correo> ListarUsuariosCorreo(int id);
        void SaveTipoCambio(DateTime fecha, decimal impVenta, decimal impCompra);
        

    }
}
